﻿function findStatus() {
	var pid = new Ext.form.NumberField({
				fieldLabel : 'PID',
				maxLength : 10,
				allowBlank : true,
				allowDecimals : false,
				allowNegative : false,
				anchor : '100%'
			});
	var author = new Ext.form.TextField({
				fieldLabel : 'Author',
				maxLength : 20,
				allowBlank : true,
				anchor : '100%'
			});
	var btnme = new Ext.Button({
				text : '我',
				anchor : '100%',
				handler : function() {
					if (sys.guest) return;
					author.setValue(sys.user.username);
				}
			});
	var university = new Ext.form.TextField({
				fieldLabel : 'University',
				maxLength : 200,
				allowBlank : true,
				anchor : '100%'
			});
	var lang = new Ext.form.ComboBox({
				fieldLabel : 'Language',
				mode : 'remote',
				triggerAction : 'all',
				valueField : 'code',
				displayField : 'title',
				editable : false,
				store : new Ext.data.Store({
							proxy : new Ext.data.HttpProxy({
										url : url.getLangList
									}),
							reader : new Ext.data.JsonReader({
										root : 'result',
										id : 'code'
									}, ['code', 'title'])
						}),
				anchor : '100%'
			});
	var status = new Ext.form.ComboBox({
		fieldLabel : 'Status',
		mode : 'local',
		triggerAction : 'all',
		valueField : 'value',
		displayField : 'text',
		editable : false,
		store : new Ext.data.SimpleStore({
					fields : ['value', 'text'],
					data : [['3', 'Accepted'], ['4', 'Presentation Error'],
							['5', 'Time Limit Exceeded'], ['6', 'Memory Limit Exceeded'],
							['7', 'Output Limit Exceeded'], ['8', 'Wrong Answer'],
							['9', 'Runtime Error'], ['10', 'Compile Error'], ['11', 'System Error']]
				}),
		anchor : '100%'
	});
	var toolbar = new Ext.Toolbar({
				items : [new Ext.Button({
									text : '取消',
									iconCls : 'cancel-icon',
									handler : function() {
										win.close();
									}
								}), new Ext.Button({
									text : '查找',
									iconCls : 'ok-icon',
									handler : onFind
								})]
			});
	var form = new Ext.FormPanel({
				labelAlign : 'right',
				labelWidth : 60,
				frame : true,
				items : [{
							layout : 'column',
							items : [{
										layout : 'form',
										columnWidth : .46,
										items : pid
									}, {
										layout : 'form',
										bodyStyle : 'padding-right:5px',
										columnWidth : .46,
										items : author
									}, {
										layout : 'form',
										columnWidth : .08,
										items : btnme
									}]
						}, university, {
							layout : 'column',
							items : [{
										layout : 'form',
										columnWidth : .5,
										items : lang
									}, {
										layout : 'form',
										columnWidth : .5,
										items : status
									}]
						}]
			});
	var win = new Ext.Window({
				id : 'findStatus',
				title : '状态查找',
				iconCls : 'find-icon',
				manager : ui.windows,
				items : form,
				width : 500,
				minWidth : 400,
				autoHeight : true,
				fbar : toolbar
			});
	win.show();

	function onFind() {
		var params = {
			pid : pid.getValue(),
			username : author.getValue(),
			school : university.getValue(),
			lang : lang.getValue(),
			status : status.getValue()
		};
		showStatusList(params);
		win.close();
	}
}
